﻿using Qlab.SharedKernel.Interfaces;
using System;
using System.Linq.Expressions;

namespace Qlab.SharedKernel.Parameters
{
    public class PageListParameter<TSource, TKey> where TSource : BaseEntity, IAggregateRoot
    {
        public Expression<Func<TSource, bool>> Where { get; set; } = null;

        public int PageSize { get; set; } = 10;

        public int PageIndex { get; set; } = 1;

        public Expression<Func<TSource, TKey>> OrderFields { get; set; } = null;

        public Expression<Func<TSource, TKey>> OrderDescFields { get; set; } = null;
    }
}